import log from '@dfeidao/atom-nodejs/logger/log';
import { IncomingHttpHeaders } from 'http';
import { systemid, productid } from '../../atom/config';
import query from '@dfeidao/atom-nodejs/db/query';
import count from '@dfeidao/atom-nodejs/db/count';
import complex_query from '@dfeidao/atom-nodejs/db/complex-query';
interface Message {
	filter:{
		Pn:number,
		project_no:string,
		job_content:string,
		value:string


	}
}

// 表名	work_order				
// 标题	工单				
// 字段名称	字段标题	字段类型	字段长度	是否为空	是否主键
// type_no	类型编号	string	50	√	ⅹ
// create_time	创建时间	timestamp	50	√	ⅹ
// engineer_phone	工程师电话	string	50	√	ⅹ
// completion_time	完成时间	timestamp	50	√	ⅹ
// work_bill_no	工单编号	string	50	√	ⅹ
// job_content	工单内容	string	50	√	ⅹ
// assetsname	资产名称	string	50	√	ⅹ
// finish_time	结束时间	timestamp	50	√	ⅹ
// productid	产品ID	string	50	√	ⅹ
// contact_number	联系电话	string	50	√	ⅹ
// wo_priority	工单优先级	string	50	√	ⅹ
// place	位置	string	50	√	ⅹ
// work_order_status	工单状态	string	50	√	ⅹ
// source_type	来源类型	string	50	√	ⅹ
// cust_name	客户名称	string	50	√	ⅹ
// working_hours	工单时长	string	50	√	ⅹ
// score	分值	string	50	√	ⅹ
// typename	类型名称	string	50	√	ⅹ
// _id	id	string	50	ⅹ	√
// start_time	开始时间	timestamp	50	√	ⅹ
// deal_type	处理方式	string	500	√	ⅹ
// project_no	项目编号	string	50	√	ⅹ
// customer_evaluation	客户评价	string	50	√	ⅹ
// responsible	责任人	string	50	√	ⅹ
// work_order_type	工单类型	string	50	√	ⅹ
// responsible_no	责任人编号	string	50	√	ⅹ
// dyremindtime	动态提醒时间	string	50	√	ⅹ
// hang_up_reason	挂起原因	string	50	√	ⅹ
// creater	创建人	string	50	√	ⅹ
// cust_sat	客户满意度	string	50	√	ⅹ
// customer_reviews	客户签名	string	50	√	ⅹ
// timeout_period	超时时长	string	50	√	ⅹ
// assets_no	资产编号	string	50	√	ⅹ
// creater_no	创建人编号	string	50	√	ⅹ
// project_name	项目名称	string	500	√	ⅹ
export default async function atom(message: Message, action_id: string, session_id: string, headers: IncomingHttpHeaders){
	
	const query = complex_query(action_id,session_id,systemid);
const dt1 = await query 
	// 添加字段
	.add_field('work_order','job_content','job_content ')
	.add_field('work_order','cust_name','cust_name')
	.add_field('work_order','work_bill_no','work_bill_no')
	.add_field('work_order','project_name','project_name')
	.add_field('work_order','work_order_status','work_order_status')
	.add_field('work_order','work_order_status','work_order_status')
	.add_field('work_order','Responsible','Responsible')
	.where_eq('work_order', 'work_order_status', '1')
	.add_field('work_order','source_type','source_type')
	.where_like('work_order', 'project_no',"%"+ message.filter.project_no+"%")
	.where_like('work_order', 'job_content',"%"+ message.filter.job_content+"%")
	.where_like('work_order', 'source_type',"%"+ message.filter.value+"%")
	.exec();
	const q = count(action_id,session_id,systemid);
	q.prepare('work_order', {productid, project_no:message.filter.project_no,job_content:message.filter.job_content});
	const [c] = await q.exec();
	
	return{dt1,c};

}
